//分割数组
/*给你一个长度为 偶数 的整数数组 nums 。你需要将这个数组分割成 nums1 和 nums2 两部分，要求：

nums1.length == nums2.length == nums.length / 2 。
nums1 应包含 互不相同 的元素。
nums2也应包含 互不相同 的元素。
如果能够分割数组就返回 true ，否则返回 false 。
1 <= nums.length <= 100
nums.length % 2 == 0
1 <= nums[i] <= 100
*/
bool isPossibleToSplit(int* nums, int numsSize) {
    int hash[101] = {0};
    for (int i = 0; i < numsSize; i++) {
        hash[nums[i]]++;
        if (hash[nums[i]] > 2)
            return false;
    }
    return true;
}


//逐步求和得到正数的最小值
/*给你一个整数数组 nums 。你可以选定任意的 正数 startValue 作为初始值。

你需要从左到右遍历 nums 数组，并将 startValue 依次累加上 nums 数组中的值。

请你在确保累加和始终大于等于 1 的前提下，选出一个最小的 正数 作为 startValue 
1 <= nums.length <= 100
-100 <= nums[i] <= 100
*/
int minStartValue(int* nums, int numsSize) {
    int min = nums[0];
    for (int i = 1; i < numsSize; i++) {
        nums[i] += nums[i - 1];
        if (min > nums[i])
            min = nums[i];
    }
    if (min <= 0)
        return -min + 1;
    return 1;
}